home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / utils / dtu140 / dtu.doc < prev   
Text File  |  1995-03-13  |  35KB  |  669 lines

  1. ==============================================================================
  2. ==============================================================================
  3.  
  4.                                     Intro:
  5.                                     ======
  6.  
  7.  
  8.   Hi there. Here is yet another update of the most compact and easy
  9.   to use programming tool: The Original DTown Utilities.
  10.  
  11.   I really needed a popup-tool to aid my programming activities. I had
  12.   used SideKick (tm) before, but in combination with the modern
  13.   programming environments from Borland, it blocked my CPU! So I wrote
  14.   some of my own utils. I quite like the result. I've become really used
  15.   to them now, so maybe you can too! Some explanation:
  16.  
  17.   There are two different methods to let DTU pop up. In the first
  18.   (and default) DTU pops up whenever you press CTRL and ALT together
  19.   (default key-combination), and you are in text-mode 2,3 or 7. It
  20.   doesn't work in graphic modes, but hey, who programs in Windows! But
  21.   if you want to use e.g. CTRL-ALT-X in a certain program, DTU
  22.   immediately swaps back to the background, taking no action and simply
  23.   letting the foreground program get the key...  Also if you hold CTRL-ALT
  24.   longer than 1 second (20 clock-ticks) it disappears. The second method
  25.   does not need that much explanation: Simply press SysReq
  26.   (Alt-PrintScreen) and DTU pops up...
  27.  
  28. ==============================================================================
  29. ==============================================================================
  30.  
  31.                             Technical Information:
  32.                             ======================
  33.  
  34.   DTU is coded in 100% assembly, coded in over 10,000 lines. It requires
  35.   a 80386 processor and at least an EGA-card. It always traps Interrupt 3
  36.   (breakpoint), Interrupt 8 (system timer), Interrupt 13 (disk services),
  37.   Interrupt 25/26 (absolute disk read/write), Interrupt 28 (DOS idle
  38.   interrupt), Interrupt 2A (network services) and Interrupt 2D (alternative
  39.   multiplex interrupt). By default Interrupt 9 (keyboard-handler) is
  40.   trapped, but this can be turned off. Interrupt 15 (AT service routines)
  41.   may be trapped to provide a second way to pop-up. Some explanation of
  42.   why all these interrupts are hooked:
  43.  
  44.     Interrupt 03: Trapped to provide quick-popup. See Using Int 3 below.
  45.     Interrupt 08: Update stopwatch counter and some internal counters.
  46.                   Also scans the shift-key status byte to see if popup
  47.                   is requested. (Only in default popup mode, i.e. no /s)
  48.     Interrupt 09: Keeps track of incoming scancodes from the keyboard.
  49.     Interrupt 15: Trapped in second popup mode to detect SysReq.
  50.     Interrupt 28: This is called by DOS to signal that disk access is safe.
  51.                   Used as a gate to pop up.
  52.     Interrupt 2D: Provides the DTU Application Programmers Interface (API).
  53.                   Read about the API below.
  54.  
  55.   Interrupts 13/25/26/2A are hooked to determine if it is safe for DTU to
  56.   access the disk (File Lister). At such moments, it's always safe to
  57.   pop up. If disk access is still not safe after 10 timer-ticks, then
  58.   popup is forced, but disk access is unstable!
  59.  
  60.   To minimize the amount of data used, all of DTU's screen-data and
  61.   scroll-data are compressed to become about 14% of their original size.
  62.   Fast decompression of all the data is used, so you won't notice any
  63.   delays. All the disassembler look-up tables are also heavily compressed.
  64.   If you still seek to spare more memory, check out the commandline option
  65.   /Dx... If you have installed an Expanded Memory Manager, DTU can load
  66.   itself into EMS-Memory, leaving only a small loader resident in low
  67.   memory. If not, normal TSR-mode is automatically used. Also, if an EMM
  68.   is installed, the File Lister becomes active. It uses physical page
  69.   three of EMS-Memory to load/save/show file contents...
  70.  
  71. ==============================================================================
  72. ==============================================================================
  73.  
  74.                                    History:
  75.                                    ========
  76.  
  77.   Version 1.00 :  Release: 06 October 1993
  78.  
  79.          Features:  * ASCII-Table with ASCII-Boxes to scroll around
  80.                     * Memory Viewer
  81.                     * CPU-Status screen
  82.                     * Calculator
  83.                     * Keytester
  84.                     * Ruler
  85.                     * Stopwatch
  86.                     * Online-help
  87.                     * Automatic 386 detection
  88.                     * EMS-loadable
  89.  
  90. ==============================================================================
  91.  
  92.   Version 1.01 :  Release: 07 October 1993
  93.  
  94.          Modified features:  * Removed a few keys that I used for debugging
  95.                                DTU 1.00.
  96.               New features:  * Added the detection for EGA-cards.
  97.  
  98. ==============================================================================
  99.  
  100.   Version 1.02 :  Release: 14 October 1993
  101.  
  102.          Modified features:  * Created new division-routine for the
  103.                                calculator: Now allows division by numbers
  104.                                larger than 2^32-1.
  105.                              * Allowed digits to be in the name of the
  106.                                program that traps an interrupt.
  107.               New features:  * Added the !-operator to the calculator.
  108.                              * Created more advance calculator-routines for
  109.                                easier calculation with negative numbers.
  110.  
  111. ==============================================================================
  112.  
  113.   Version 1.03 :  Release: 03 November 1993
  114.  
  115.          Modified features: * Division by zero now creates a division error.
  116.               New features: * Added the posibility of changing memory-
  117.                               variables.
  118.  
  119. ==============================================================================
  120.  
  121.   Version 1.10 :  Release: 18 December 1993
  122.  
  123.               New features:  * Added the AND, OR, XOR and NOT operators to
  124.                                the calculator.
  125.                              * Added the memory-variables in the calculator.
  126.  
  127. ==============================================================================
  128.  
  129.   Version 1.15 :  Release: 30 December 1993
  130.  
  131.          Modified features:  * Now writes correctly to the active textpage...
  132.                                (Some routines always wrote to page 0!)
  133.                              * Did some internal changes...
  134.               New features:  * Added extended keyboard options. Read the
  135.                                section on the extended keyboard below to find
  136.                                out it's precise working.
  137.  
  138. ==============================================================================
  139.  
  140.   Version 1.16 :  Release: 14 January 1994
  141.  
  142.          Modified features:  * Now correctly displays SS:ESP. ESP was always
  143.                                displayed as ESP-6 (I didn't add the three
  144.                                words for calling an Int).
  145.               New features:  * Added B,C,D,E,S and X to the memory-view
  146.                                keylist. Now you can jump to your code/data/
  147.                                stack easier.
  148.  
  149. ==============================================================================
  150.  
  151.   Version 1.20 :  Release: 25 March 1994
  152.  
  153.          Modified features:  * Now the Online Help has real help pages. All
  154.                                in compressed form of course...
  155.               New features:  * Added the File Lister.
  156.                              * DTU now automatically frees the memory
  157.                                occupied by it's copy of the DOS environment
  158.                                variables.
  159.                              * DTU now uses the PSP as low-memory variable
  160.                                space.
  161.  
  162. ==============================================================================
  163.  
  164.   Version 1.21 :  Release: 30 March 1994
  165.  
  166.          Modified features:  * Oops! Because of the new screen (File Lister)
  167.                                there were some incompatibilities in the Misc-
  168.                                Tools and Calculator screens. Sorry for
  169.                                insufficient testing...
  170.               New features:  * Now the File Lister can save screen-dumps.
  171.  
  172. ==============================================================================
  173.  
  174.   Version 1.22 :  Release: 18 April 1994
  175.  
  176.          Modified features:  * The scroll-data now is even better compressed.
  177.                              * It seems there still was a problem with the
  178.                                ESP-display. It's now in the past for good...
  179.                              * The CPU-Status can now also display TSR's
  180.                                that are loaded into High Memory and trap
  181.                                an interrupt.
  182.                              * Removed all DRQ's, because I grew tired of
  183.                                doing all the maintenance. (You never used
  184.                                them anyway, did you ?!?!  I didn't...)
  185.               New features:  * The Memory-Viewer can now search for strings
  186.                                in memory (and pretty fast too!).
  187.                              * The CPU-Status is modified to be able to
  188.                                display the 80386 Control Registers and some
  189.                                extra 80486 and Pentium Flags.
  190.                              * The File Lister can now handle TAB's also.
  191.                              * If all is good (and I hope it is), the
  192.                                problems with some Expanded Memory Managers
  193.                                (like QEMM386) are solved.
  194.  
  195. ==============================================================================
  196.  
  197.   Version 1.23 :  Release: 28 April 1994
  198.  
  199.          Modified features:  * The Memory-Viewer can now display data from
  200.                                the High Memory Area (First 64k above 1MB).
  201.               New features:  * Memory-View allows an address to be entered to
  202.                                jump to (and be referenced to from then).
  203.  
  204. ==============================================================================
  205.  
  206.   Version 1.30 :  Release: 21 June 1994
  207.  
  208.          Modified features:  * Monochrome monitor (80x25 mode) is supported.
  209.                              * I redefined some keys. Hopefully you'll adjust
  210.                                to them as fast as I did.
  211.               New features:  * New /0../7 options from command-line. This
  212.                                solves the problems that some people had with
  213.                                Version 1.22 and 1.23 and the CPU-Status.
  214.                              * File Lister can now save buffers to disk, so
  215.                                you can save screen dumps in a file.
  216.                              * Well, another utility saw the light: DTU's
  217.                                Symbolic DisAssembler. It can disassemble
  218.                                instructions up to the 80486.
  219.  
  220. ==============================================================================
  221.  
  222.   Version 1.31 :  Release: 08 September 1994
  223.  
  224.          Modified features:  * The Disassembler Tables are now compressed
  225.                                on a binary level. This compresses the tables
  226.                                to about 70% of their byte level equivalents.
  227.                              * Also better screen compression.
  228.                              * Better OpCode-Error detection.
  229.               New features:  * Upon pop-up/exit, Num-Lock is turned on/off.
  230.  
  231. ==============================================================================
  232.  
  233.   Version 1.32 :  Release: 15 September 1994
  234.  
  235.          Modified features:  * Due to some code compression, the File
  236.                                Lister didn't handle files correct in
  237.                                Normal TSR-Mode. Solved...
  238.                              * The disassembler didn't calculate jumps
  239.                                correctly above the 1 MB limit.
  240.                              * Disassembler now correctly prints PWORD
  241.                                pointers as PWORD pointers instead of PDWORD.
  242.  
  243. ==============================================================================
  244.  
  245.   Version 1.33 :  Release: 07 November 1994
  246.  
  247.          Modified features:  * AAM and AAD were printed with some strange
  248.                                parameter instead of (xx). Corrected.
  249.                              * The disassembler can now detect all new
  250.                                instructions supported by the Pentium
  251.                                processor line.
  252.  
  253. ==============================================================================
  254.  
  255.   Version 1.34 :  Release: 20 November 1994
  256.  
  257.               New features:  * Added start-up options /L, and /S.
  258.  
  259. ==============================================================================
  260.  
  261.   Version 1.35 :  Release: 06 December 1994
  262.  
  263.          Modified features:  * DTU now supports screen swapping by other
  264.                                TSRs (eg. K3PLUS). No extra code was needed,
  265.                                just a change in code-sequence...
  266.  
  267. ==============================================================================
  268.  
  269.   Version 1.40 :  Release: 28 December 1994
  270.  
  271.          Modified features:  * Better index tables for the DisAssembler.
  272.                                This results in more disassembly speed!
  273.               New features:  * Added the display of the 80x87 co-processor
  274.                                status.
  275.                              * Added the stopwatch day counter. The stop-
  276.                                watch can now count up to 2730 days and
  277.                                16 hours. (At normal timer speed...)
  278.                              * Added the DTU API. Read DTU-API.DOC.
  279.                              * Complete new install procedure. It allows
  280.                                utilities not to be installed. See command-
  281.                                line option /D.
  282.                              * Upon popup DTU detects automatically if it
  283.                                is safe to access the disk (File Lister).
  284.                              * Added the command-line option /P.
  285.  
  286. ==============================================================================
  287. ==============================================================================
  288.  
  289.                                 Starting DTU:
  290.                                 =============
  291.  
  292.   Usage:  DTU [options]
  293.  
  294.           The start-up options are:
  295.  
  296.          /dx : Don't keep utility x resident. X is one of the following:
  297.  
  298.                      0 = ASCII Table
  299.                      1 = Memory Viewer
  300.                      2 = CPU Status
  301.                      3 = CoProcessor Status
  302.                      4 = Calculator
  303.                      5 = Misc. Tools
  304.                      6 = File Lister
  305.                      7 = DisAssembler
  306.  
  307.                Note: * The CoProcessor Status is only installed if the CPU
  308.                        Status is also installed !!
  309.                      * The File Lister is only installed if an Expanded
  310.                        Memory Manager is installed !!
  311.  
  312.           /k : Don't allow DTU to hook Interrupt 9. When this switch
  313.                is used, the INT 9 Buffer in the Misc.Tools Screen is
  314.                turned off, and Interrupt 9 is not hooked. Automatic if
  315.                option /d5 is used.
  316.  
  317.           /l : Disables Num-Lock control. When this switch is used, DTU
  318.                does not force Num-Lock when activated.
  319.  
  320.           /n : Forces DTU to install in regular TSR-Mode. Could be helpful
  321.                when you want to view some EMS-Memory of your own, mapped
  322.                on physical pages 0,1 and 3...
  323.  
  324.          /px : Specify alternative popup keys for the default popup mode.
  325.                x can be one of 0..9.
  326.  
  327.                  0 = Left-Shift / Right-Shift
  328.                  1 = Ctrl / Right-Shift
  329.                  2 = Ctrl / Left-Shift
  330.                  3 = Ctrl / Left-Shift / Right-Shift
  331.                  4 = Alt / Right-Shift
  332.                  5 = Alt / Left-Shift
  333.                  6 = Alt / Left-Shift / Right-Shift
  334.                  7 = Ctrl / Alt / Right-Shift
  335.                  8 = Ctrl / Alt / Left-Shift
  336.                  9 = Ctrl / Alt / Left-Shift / Right-Shift
  337.  
  338.           /s : Use the Sys-Req key for pop-up. When specified, CTRL-ALT
  339.                is no longer active, but instead the SysReq (ALT-PrintScreen)
  340.                is DTU's hot-key.
  341.  
  342.        /0..7 : Some EMS Managers don't like DTU reading and displaying
  343.                some 386 control-registers. To check your system, test all
  344.                options from /0 to /7 separately. Use the highest option
  345.                that creates no error (0=lowest, 7=highest). The option
  346.                /0 should ALWAYS work !
  347.                (Default = /7)
  348.  
  349. ==============================================================================
  350. ==============================================================================
  351.  
  352.                                   Using DTU:
  353.                                   ==========
  354.  
  355.   DTU contains several screens with separate utilities. To swap from one
  356.   utility to another, use F1 to F7. If you want online help, press F10.
  357.   You can also use CTRL-Left arrow and CTRL-Right arrow to swap to the
  358.   previous/next utility. (Nice to check the speed of assembly: Keep
  359.   holding CTRL-Left/Right... :-) )
  360.  
  361.   * ASCII-Table :    Arrows        : Move around the box-characters
  362.     (F1)             PG-UP/DN      : One page back/forward in ASCII-Table
  363.                      HOME/END      : Top/End of ASCII-Table
  364.                      
  365.                      Use the quick-ref for a quick search for a special
  366.                      character...
  367.  
  368.   * Memory View :    T             : Toggle between peek and poke-mode
  369.     (F2)
  370.                      ** PEEK-MODE **
  371.  
  372.                      LEFT/RIGHT    : Swap view-mode
  373.                      ENTER         : Go to the next view-mode
  374.                      UP/DOWN       : One segment back/forward in memory
  375.                      PG-UP/DN      : 16 segments back/forward in memory
  376.                      CTRL-PG-UP/DN : 256 segments back/forward in memory
  377.                      HOME/END      : Top/End of memory
  378.  
  379.                      A             : Jump to DisAsm's current top-address
  380.                      F             : Search memory for a string
  381.                                        (Case-Insensitive)
  382.                      L             : Jump to last match
  383.                      N             : Search memory for next match
  384.  
  385.                      J             : Enter an address to jump to
  386.                      K             : Jump to last entered address
  387.  
  388.                        To jump to frequently used memory locations press:
  389.  
  390.                      B             : Jump to SS:EBP
  391.                      C             : Jump to CS:IP
  392.                      D             : Jump to DS:ESI
  393.                      E             : Jump to ES:EDI
  394.                      S             : Jump to SS:ESP
  395.                      X             : Jump to DS:EBX
  396.  
  397.                        All of the memory variables referenced by one of
  398.                        these above are displayed in yellow, except the
  399.                        one last jumped to. That one is red. The reference
  400.                        will be shown at the right of the table, as long as
  401.                        the variable is displayed. All string-matches are
  402.                        displayed in purple.
  403.  
  404.                      ** POKE-MODE **
  405.  
  406.                      Arrows        : Move around page with pointers
  407.                      +,-           : Increase/Decrease byte
  408.  
  409.                      Continuously updates screen, so you can watch some
  410.                      variables change... (See 0040:0040 and 0040:006C)
  411.  
  412.   * CPU-Status  :    UP/DOWN       : One interrupt back/forward
  413.     (F3)             PG-UP/DN      : 4 interrupts back/forward
  414.                      HOME/END      : Top/End of interrupt-list
  415.                      ENTER         : Swap between 80x86 and 80x87 status
  416.  
  417.                      The CoProcessor Status does not have any keys
  418.                      to control it...
  419.  
  420.                      Display (stack)registers, flags, interrupts etc. etc...
  421.  
  422.   * Calculator  :    LEFT/RIGHT    : Swap view-mode
  423.     (F4)             UP/DOWN       : Swap input-mode
  424.                      0..9, A..F    : Enter a number
  425.                      &, |, X, N    : Logical And/Or/Xor/Not
  426.                      BACKSPACE     : Back-up one digit
  427.                      +, -, *, /    : Add, substract, multiply, divide...
  428.                      !             : Negate the number being entered
  429.                      ENTER/=       : View outcome
  430.                      ALT-C         : Clear this number/Clear all
  431.                      ALT-B/O/D/H/T : Swaps to Bin/Oct/Dec/Hex/Text-mode
  432.                      ALT-N/S       : Swaps to Normal/Separated display-mode
  433.                      Q             : Quick-look at the screen before pop-up
  434.                      ALT-F1..ALT-F6: Store current value in memory-variable
  435.                    CTRL-F1..CTRL-F6: Use memory-variable
  436.  
  437.   * Misc. Tools :    LEFT/RIGHT    : Swap keyscanner-mode
  438.     (F5)             ENTER         : Go to the next keyscanner-mode
  439.                      K             : Activate keyscanner:
  440.                                          Press any key you like. ASCII-value
  441.                                          and scancode are displayed. Press
  442.                                          ESCAPE twice to exit... (Read
  443.                                          the section about the extended
  444.                                          keyboard for the differences of
  445.                                          the keyscan-modes.)
  446.                      R             : Activate ruler:
  447.                                          Use arrows to move the ruler. X and
  448.                                          Y coordinates are displayed along
  449.                                          with the offset in video-memory.
  450.                                          Press ESCAPE to exit...
  451.                      S             : Activate stopwatch-control:
  452.                                          Use S to start/stop the stopwatch,
  453.                                          and C to clear. Stopwatch will count
  454.                                          timer-ticks, so, in an interrupt-
  455.                                          enabled loop, it varies about half
  456.                                          a second per hour. Press ESCAPE
  457.                                          to exit...
  458.  
  459.                      The INT 9 Watcher displays the last 16 scan-codes
  460.                      received from the keyboard. The red arrows point at the
  461.                      last scan-code that was received...
  462.  
  463.   * File Lister :    UP/DOWN       : Scroll text up/down
  464.     (F6)             LEFT/RIGHT    : Scroll text left/right
  465.                      SHIFT-LEFT    : Jump back to left origin
  466.                      PAGE UP/DOWN  : Scroll one text page up/down
  467.                      HOME/END      : Jump to top/bottom of file
  468.                      L             : Load new file into active buffer
  469.                      W             : Write buffer to file
  470.                      R             : Release active buffer
  471.                      S             : Load screen dump into active buffer
  472.                      F             : Find string (not yet fully implemented)
  473.                    CTRL-F1..CTRL-F4: Switch to buffer 1..4
  474.  
  475.                      There are 4 independant buffers available. The maximum
  476.                      size of a file that can be loaded into a buffer, depends
  477.                      on the size of EMS-Memory available.
  478.  
  479.                      Some notes: - The File Lister only is loaded when an
  480.                                    Expanded Memory Manager is also loaded.
  481.                                  - Screen saves will be made of the complete
  482.                                    screen, even if it's height is 43 or 50
  483.                                    rows...
  484.  
  485.   * Disassembler:    UP/DOWN       : One byte/instruction up/down
  486.     (F7)             PG-UP/DN      : 13 bytes/instructions up/down
  487.                      HOME/END      : Jump to lineair 0/10FFEFh
  488.                      (SHIFT-)RIGHT : Follow jump or call at the top with(out)
  489.                                      pushing current address to JumpStack
  490.                      LEFT          : Pop address from JumpStack
  491.                      C             : Jump to CS:IP
  492.                      M             : Jump to Memory Viewer's current address
  493.  
  494.                      Some notes: - Since this option is rather new, there
  495.                                    may be still some opcodes that DTU does
  496.                                    not expect. Of course I tested as much
  497.                                    of them as possible, but I may have
  498.                                    overlooked some.
  499.                                  - I chose for lineair addressing for the
  500.                                    sole reason that I didn't want to spend
  501.                                    time on boring segment calculation...
  502.                                  - If the Memory Viewer is in peek mode, the
  503.                                    pressing of M will set the top address to
  504.                                    the top address of the Memory Viewer,
  505.                                    otherwise the top address is set to the
  506.                                    address where MV's pointer is located.
  507.  
  508.   * Help screen :    PG-UP/DN      : One help page up/down
  509.                      HOME/END      : Jump to first/last help page
  510.  
  511. ==============================================================================
  512. ==============================================================================
  513.  
  514.                                  Using Int 3:
  515.                                  ============
  516.  
  517.   I find it usefull (especially when programming in assembly) to be able to
  518.   check all registers, flags, interrupts and memory-variables at certain
  519.   points. So I found the perfect solution: Simply call Int 3 and DTU
  520.   pops-up so you can easilly verify them all. Also, since version 1.30, you
  521.   can check out what your program is going to do in the next few
  522.   instructions by pressing F7 and C...
  523.  
  524. ==============================================================================
  525. ==============================================================================
  526.  
  527.                            Extended Keyboard Options:
  528.                            ==========================
  529.  
  530.   If you have installed an extended keyboard, DTU detects it. This will
  531.   give you the option of using 3 keyscanner-modes. The first is the normal
  532.   one (Int 16h,0). The second one uses the extended keyboard routines in
  533.   BIOS (Int 16h,10h). This will allow you to scan for e.g. F11 and F12.
  534.   The third mode is used to synchronize between the first two. It also
  535.   uses the extended keyboard routines, but the key will be translated
  536.   using the algorithm below. By using this, the difference between e.g.
  537.   the two DEL-keys won't be noticed.
  538.  
  539.   Translation-method:
  540.  
  541.                    Key is assumed to be stored in 2 bytes: HI and LO,
  542.                    HI is the scancode, LO is the ASCII-value.
  543.  
  544.   Translation:     IF (LO=E0h OR LO=E1h) AND HI>=47h THEN LO:=0
  545.  
  546.                    HI and LO now contain the translated key-values.
  547.  
  548. ==============================================================================
  549. ==============================================================================
  550.  
  551.                                    DTU API:
  552.                                    ========
  553.  
  554.   Since version 1.40 DTU has a fully documented API. It is located at
  555.   Interrupt 2Dh (Alternative Multiplex Interrupt, AMI). The API s
  556.   described in DTU-API.DOC. Some example code is included in DTU-API.ASM
  557.   to let you understandthe description a little better above...
  558.  
  559.   If you think of ANY API-function that you could really use, don't
  560.   hesitate to contact me...
  561.  
  562. ==============================================================================
  563. ==============================================================================
  564.  
  565.                                Trouble Shooting:
  566.                                =================
  567.  
  568.   If you have a problem with DTU, please check out the following first
  569.   before contacting me:
  570.  
  571.     Problem: When I start DTU, it installs OK, but when I enter the CPU-
  572.              Status screen, it generates a 'General Protection exception'.
  573.      Answer: The CPU-Status tries to read some 386 internal registers to
  574.              be displayed on the screen. However, your Memory Manager
  575.              (eg. EMM386,QEMM) does not allow DTU to read those registers.
  576.              Read the section on the start-up options /0 to /7. If you
  577.              don't care about the special registers, start DTU with:
  578.              'DTU /0'. This always works.
  579.  
  580.   Well, this is the most frequently asked question, so I thought I'd include
  581.   a Trouble Shooting section. Not much of a section so far, but maybe it'll
  582.   grow. (I hope not!)
  583.  
  584. ==============================================================================
  585. ==============================================================================
  586.  
  587.                                  Last remarks:
  588.                                  =============
  589.  
  590.   Utility exclusion remarks:
  591.   --------------------------
  592.  
  593.   This is the first version of DTU which supports code/data relocation.
  594.   I had to change a LOT of code to support this. All variables were at
  595.   fixed addresses in the code segment. Now all variable reference is done
  596.   via indexing through the BasePointer (BP). Also all calls to the main
  597.   program by the utilities are relative. All these calls are marked by
  598.   labels, and the Install Procedure has to modify the call-code to allow
  599.   code movement. All those labels are held in separate tables. That is
  600.   why DTU is a little bigger than the last one. However, once it is
  601.   installed, it takes up less memory, because indexing variables takes
  602.   up less space...
  603.  
  604.   Update remarks:
  605.   ---------------
  606.  
  607.   Until now I don't really need floating-point calculation, so I didn't
  608.   implement it. Maybe it will be in a future version (I'm saying this since
  609.   the very first version, so it'll probably never be implemented!). Also
  610.   I don't need DTU to pop-up when I'm in graphics-mode, so that's not in
  611.   it either. I can imagine however that someone needs DTU to pop-up on
  612.   top of graphics. If you can provide me with some code to save the VGA
  613.   status, I'll give it a try. I just don't have the time to do any research
  614.   on this subject...
  615.  
  616.   Also, a lot of people mail me about 'Can you implement this', or 'Can you
  617.   build in that'. Well, I'll go along with anything as long as it is
  618.   usefull for, say 50% of all people ! (Unless of course you can't run the
  619.   entire program for some reason...)  My policy for DTU is simple: It
  620.   should be easy to use, usefull and SMALL... No offence... :-)
  621.   However, since version 1.40, it is easier to exclude code and data, so
  622.   don't be afraid to ask me...
  623.  
  624.   Bugs:
  625.   -----
  626.  
  627.   I debug DTU as much as possible, but I can only test DTU on my own
  628.   configuration, so yours may cause problems. If you find any bug, just
  629.   contact me. I'll (try to) remove the bug, and you'll get a new version !
  630.  
  631.   Any remarks, tips, complements or bug-reports can be addressed to:
  632.  
  633. ==============================================================================
  634. ==============================================================================
  635.  
  636.                                    Credits:
  637.                                    ========
  638.  
  639.   DTown Utilities is fully coded by:
  640.  
  641.                      DTown Software Development
  642.                         Mr Simon Buysstraat 13
  643.                        4931 RB  Geertruidenberg
  644.                                Holland
  645.                       Voice:  +31 - 1621 - 13648
  646.                        Fax:  +31 - 1621 - 13457
  647.                     Internet:  jafcdiss@cs.ruu.nl
  648.  
  649.    If you have an Internet mail-address, and you want to keep up with the
  650.    latest version, mail me. You'll be added to my DTU-mailinglist. Every
  651.    time an update is released, you'll be the first to get it...
  652.  
  653. ==============================================================================
  654. ==============================================================================
  655.  
  656.                                    Bye bye:
  657.                                    ========
  658.  
  659.           //////   //   //  ///////       //////   //   //  ///////
  660.          //   //  //   //  //            //   //  //   //  //
  661.         //////    //////  /////         //////    //////  /////
  662.        //   //       //  //            //   //       //  //
  663.       //////   //////   ///////       //////   //////   ///////  // // //
  664.  
  665. ==============================================================================
  666. ==============================================================================
  667. ==============================================================================
  668. ==============================================================================
  669.